Macintosh Drag and Drop is new technology from Apple, which you should support. By using Macintosh Drag and Drop, you can easily implement intra and inter-application drag and drop in your applications. Your products will have an improved user interface, and your users will be able to manipulate and work with their data faster and more intuitively.
Drag and drop is a skill all Macintosh users have mastered. They use it to quickly and directly organize files in the Finder. But users want to drag and drop data as easily as they drag and drop files. Macintosh Drag and Drop allows users to move data between different applications and windows, much like the Scrap Manager’s copy and paste. Drag and drop is a more intuitive and faster operation than copy and paste, and drag and drop is easier for novices to learn.
DRAG MANAGER
Macintosh Drag and Drop implements the new Drag Manager toolbox. Use the Drag Manager routines to add drag and drop behavior to your application. To provide the standard drag and drop interface, you only need to add a few new calls and provide two callback routines that are utilized during drag operations.
The Drag Manager’s architecture is flexible, allowing you to support any drag and drop services you’ve already implemented. Apple provides ways to customize and override default behavior or will provide the standard drag and drop interface with minimal effort on your part.
The Drag Manager improves on the Scrap Manager by allowing the streaming and delayed delivery of data. Users can drag and drop multiple items, each with different data types. Macintosh Easy Open integrates with the Drag Manager, providing data type translation services automatically and without any additional effort on your part. This means you can simply support your application’s data types and count on Macintosh Easy Open to provide automatic translation for data that is dropped into and dragged out of application windows.
The Drag Manager is integrated with the System 7 Pro Finder, allowing users to drag and drop files from the Finder into any applications’ windows and providing file information for those files. Applications can also find out where data was dropped in the Finder — for example, that it was dropped into the Trash.
The Drag Manager supports drag and drop of any data to the System 7 Pro Finder. It creates “clipping” files that users can then use as clipboards and drag into an application when the data is needed. Users can keep common data handy as clipping files.
INSTALLING
To install Macintosh Drag and Drop, simply place the Macintosh Drag and Drop extension file in your Extensions folder and reboot. This will allow you to use all the programmatic interfaces described in the Drag Manager Programmer’s Guide.
To use clipping files, please install the Clipping Extension file with System 7 Pro. If you do not have System 7 Pro, then for development you may install the Finder version 7.1.3, Dragging Enabler, and Clipping Extension files on System 7.1. Be warned that the Finder 7.1.3 is only bundled with System 7 Pro and has not been qualified to run on System 7.1. We don't expect you to have any problems with this configuration, but you may experience data losses or crashes. You may also wish to install the accompanying Network Extension and Finder Help, as earlier versions of these files will not operate with a newer Finder.
For inter-application drag and drop on System 7.1, install the Dragging Enabler file in your extension folder. This file is not necessary on System 7 Pro or later versions of system software, but is needed to allow inter-application dragging on System version 7.1.
COMPATIBILITY
Macintosh Drag and Drop 1.0 requires System 7.0 or later to operate. The inter-application dragging features of Macintosh Drag and Drop require System 7 Pro or use of the Dragging Enabler file with System 7.1. Support for clipping files requires the Clipping Extension file with Finder version 7.1.3 or later. Finder version 7.1.3 is included in System 7 Pro and with this Developer’s Kit. Note that Finder version 7.1.1 was released in the PowerBook File Assistant product, and with Macintosh Drag and Drop it allows you to receive and promise files, but does not create or support clipping files. For implicit data type translation, Macintosh Easy Open version 1.0.3 or later is required.
Macintosh Drag and Drop is incompatible with the graphics acceleration of the 8•24 GC video card. With this card and the 8•24 GC control panel installed, Macintosh Drag and Drop may leave bits behind while dragging on the 8•24’s display. Remove the 8•24 GC control panel to fix the problem.
KNOWN PROBLEMS
When using Macintosh Drag and Drop version 1.0, you should be aware of the following known problems. If you find any additional problems please send an AppleLink to DEVSUPPORT describing the problem. Please also include your hardware and software configuration.
When dragging to the Finder to create clipping files, if any drag item flavors have been promised, the clipping file is not created. If your application intends to create clipping files, do not promise drag item flavor data. This problem will be fixed in the next version of Macintosh Drag and Drop.
Windows created with the NewServiceWindow routine are not currently supported by Macintosh Drag and Drop. Installing drag handlers on these windows will return noErr, but the handlers will not be called while dragging over those windows. This problem will be fixed in a future version of Macintosh Drag and Drop.
If you drag a file to the System 7 Pro Finder using a flavorTypeHFS or flavorTypePromiseHFS flavor, and that file is currently displayed in a Finder window then that window will not be updated correctly. This problems will be addressed in a future version of system software.
LICENSING
You may license Macintosh Drag and Drop 1.0 and include it with your products. Macintosh Drag and Drop 1.0 includes the Macintosh Drag and Drop file, the Clipping Extension file, and the Dragging Enabler file. You may not license any other files in the Developer’s Kit. Please call Apple Software Licensing at (408) 974 4667 for information.
CREDITS
The Drag Manager is brought to you by the following people:
Development Engineering: Rob Johnston and Dave Evans
Quality Engineering: Keith Mortensen
Human Interface: Mark Stern
Management: Dave Fylstra
Essential Thanks: Debi Holmes, Nick Kledzik and Andy Nicholas
Essential Testing: Brent Horger, Jenny Kai, and Margarita Sang
Software Management: Sue Kuo
Special Thanks to: Greg Anderson, Dylan Ashe, Juan Bettaglio, Paul Bommarito, Pierre Cesarini, Jennifer Chaffee, Tom Conrad, Jim Dumont, Dave Falkenburg, Steve Fisher, Mary Harrington, Bob Hagenau, Andy Hammond, C.K. Haun, Sandy Horn, Phac Le Tuan, Brenda Lui, Elizabeth Moller, Dave Owens, David Pakman, Greg Robbins, Roger Rompot, Leonard Rosenthal, David Schroit, Eric Slosser, Rick Spitz, Francis Stanbach, Mitch Stein, Atticus Tysen, Dean Yu, and many others.
Also thanks to the Blue Meanies, our seed developers, Taco Bell, and to AB Logic.